package com.koron.sinoprobe.web.ledger.service;

import com.koron.sinoprobe.web.ledger.bean.entity.SpReport;
import com.koron.sinoprobe.web.ledger.bean.query.SpReportQuery;
import com.koron.sinoprobe.web.ledger.bean.vo.SpReportVO;
import com.koron.sinoprobe.web.ledger.bean.vo.SpendVO;
import org.koron.ebs.mybatis.SessionFactory;

import java.util.List;

/**
 * @author twcao
 * @title: SpReportService
 * @projectName GDH_EAM_V2
 * @description: 项目汇报service
 * @date 2021/12/211:23
 */
public interface SpReportService {

    SpReport queryById(SessionFactory factory, String id);

    List<SpReportVO> queryList(SessionFactory factory, SpReportQuery query);

    SpReport saveOrUpdate(SessionFactory factory, SpReport bean);

    String deleteById(SessionFactory factory, String id);

    SpReportVO getLatestReport(SessionFactory factory, String projectId);

    List<SpendVO> getReportSpend(SessionFactory factory, String projectId);
}
